#pragma once

#ifndef _CStatusEffect_H_
#define _CStatusEffect_H_

#define EFFECT_HP_PLUS		0x01
#define EFFECT_HP_MINUS		0x02
#define EFFECT_MP_PLUS		0x03
#define EFFECT_MP_MINUS		0x04

class CStatusEffect
{
public:
	CStatusEffect(unsigned char type, char value, unsigned short tick, unsigned short duration);
	~CStatusEffect();

	unsigned char	getType();
	char			getValue();
	unsigned short	getTickTime();
	unsigned short	getDuration();
	double			getStartTime();

	// Only use for CChar entity
	void			setStatusIcon();
	unsigned char	getStatusIcon();

private:
	unsigned char	m_type;
	char			m_value;
	unsigned short	m_tickTime;
	unsigned short	m_duration;
	double			m_startTime;

	// For CChar entity, otherwise not used
	unsigned char	m_statusIcon;
};

#endif